﻿using JetBrains.Annotations;
using System;
using Volo.Abp;
using Volo.Abp.Data;
using Volo.Abp.MultiTenancy;
using Xms.Abp.Data;

namespace Xms.Abp.MultiTenancy;

public class TenantData: TenantConfiguration, IHasExtraProperties
{
    public virtual string DisplayName { get; set; }
    public virtual string Favicon { get; set; }
    public virtual string Logo { get; set; }
    public virtual string LargeLogo { get; set; }
    public virtual string Remark { get; set; }
    public Domains Domains { get; set; }

    public ExtraPropertyDictionary ExtraProperties { get; }

    public TenantData()
    {
        IsActive = true;
        ExtraProperties = new ExtraPropertyDictionary();
    }

    public TenantData(Guid id, [NotNull] string name, [NotNull] string displayName)
        : base(id, name)
    {
        DisplayName = Check.NotNull(displayName, nameof(displayName));

        Domains = new Domains();
        IsActive = true;
        ExtraProperties = new ExtraPropertyDictionary();
    }
}
